// Problem 163: Cross-hatched triangles
// ref: http://www.mathpuzzle.com/bdalytriangles.html
// 按照方向所有的线分成六个子集，那么三角形的三个顶点应该来自三个集合中的线，因此有c(6,3)=20种，考虑对称性，有三种三角形
// 60-60-60,120-30-30,90-60-30
package main

import (
	"fmt"
)

func p163() {
	s := 36
	ans := (1678*s*s*s + 3117*s*s + 88*s - 345*(s%2) - 320*(s%3) - 90*(s%4) - 288*((s*s*s-s*s+s)%5)) / 240
	fmt.Println("Problem 163:", ans)
}
